﻿using RecruitStudents.Utility.Helper;
using RecruitStudents.Utility.Json;
using RecruitStudents.Utility;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Data;

namespace RecruitStudents.Client.WS
{
    /// <summary>
    /// ExamineeService 的摘要说明
    /// </summary>
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [System.ComponentModel.ToolboxItem(false)]
    // 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务，请取消注释以下行。 
    // [System.Web.Script.Services.ScriptService]
    public class ExamineeService : WS.Helper.BaseServiceHelper
    {
        #region 新加的考试分组  上戏统考
        [SoapHeader("MyHeader")]
        [WebMethod]
        public void ExecuteNonQuery(string strSql)
        {
            ServiceExaminee.ExecuteNonQuery(strSql);
        }
        [SoapHeader("MyHeader")]
        [WebMethod]
        public string GetTable(string strSql)
        {
            return ServiceExaminee.GetTable(strSql).ToJson();
        }

        [SoapHeader("MyHeader")]
        [WebMethod]
        public string SaveExamGroup(string strJson)
        {
            return ServiceExaminee.SaveExamGroup(strJson).ToJson();
        }

        #endregion

        #region 上戏考生成绩查询
        [SoapHeader("MyHeader")]
        [WebMethod]
        public string GetExamineeScoreSearchForm1(string strExamPlaceNo, string strSpecNo, string strExamLevel,
            string strName, string strIdCard, string strNMT_SignUpID, string strExamRoomNo, string strExamYear,
            string strStartDate, string strEndDate,string strAllowExamID)
        {
            return ServiceExaminee.GetExamineeScoreSearchForm1(strExamPlaceNo, strSpecNo, strExamLevel, strName, strIdCard, 
                strNMT_SignUpID, strExamRoomNo, strExamYear, strStartDate, strEndDate, strAllowExamID).ToJson();
        }
        [SoapHeader("MyHeader")]
        [WebMethod]
        public string GetExamineeScoreSearchForm2(string strExamPlaceNo, string strSpecNo, string strExamLevel,
            string strName, string strIdCard, string strNMT_SignUpID, string strExamRoomNo, string strExamYear,
            string strStartDate, string strEndDate,string strAllowExamID)
        {
            return ServiceExaminee.GetExamineeScoreSearchForm2(strExamPlaceNo, strSpecNo, strExamLevel, strName, strIdCard,
                strNMT_SignUpID, strExamRoomNo, strExamYear, strStartDate, strEndDate, strAllowExamID).ToJson();
        }
        [SoapHeader("MyHeader")]
        [WebMethod]
        public string GetExamineeScoreSearchForm3(string strExamPlaceNo, string strSpecNo, string strExamLevel,
            string strName, string strIdCard, string strNMT_SignUpID, string strExamRoomNo, string strExamYear,
            string strStartDate, string strEndDate,string strAllowExamID)
        {
            return ServiceExaminee.GetExamineeScoreSearchForm3(strExamPlaceNo, strSpecNo, strExamLevel, strName, strIdCard,
                strNMT_SignUpID, strExamRoomNo, strExamYear, strStartDate, strEndDate, strAllowExamID).ToJson();
        }

        [SoapHeader("MyHeader")]
        [WebMethod]
        public DataSet GetExamineeScoreSearchFormExcel(string strExamPlaceNo, string strSpecNo, string strExamLevel,
            string strName, string strIdCard, string strNMT_SignUpID, string strExamRoomNo, string strExamYear,
            string strStartDate, string strEndDate)
        {
            return ServiceExaminee.GetExamineeScoreSearchFormExcel(strExamPlaceNo, strSpecNo, strExamLevel, strName, strIdCard,
              strNMT_SignUpID, strExamRoomNo, strExamYear, strStartDate, strEndDate);
        }
        #endregion



        [SoapHeader("MyHeader")]
        [WebMethod]
        public string GetSignUpStudentsByExcel_New(string strExamRoomNo)
        {
            return ServiceExaminee.GetSignUpStudentsByExcel_New(strExamRoomNo).ToJson();
        }
        [SoapHeader("MyHeader")]
        [WebMethod]
        public string GetSpecialityExameeSearchDataTable(string strExamPlaceNo, string strSpecNo, string strExamLevel,
            string strName, string strIdCard, string strNMT_SignUpID, string strExamRoomNo, string strExamYear)
        {
            return ServiceExaminee.GetSpecialityExameeSearchDataTable(strExamPlaceNo, strSpecNo, strExamLevel, strName, strIdCard, strNMT_SignUpID, strExamRoomNo, strExamYear).ToJson();
        }
        [SoapHeader("MyHeader")]
        [WebMethod]
        public string GetExameeSpeciality_ExamLevelBySignUpID_New(string strSignUpID)
        {
            return ServiceExaminee.GetExameeSpeciality_ExamLevelBySignUpID_New(strSignUpID).ToJson();
        }
        #region 根据高考报名号获取生源地
        [SoapHeader("MyHeader")]
        [WebMethod(Description = @"<b><i>根据高考报名号获取生源地</i></b>")]
        public string Check_SYD_By_YKZ(string strYKZ)
        {
            return ServiceExaminee.Check_SYD_By_YKZ(strYKZ).ToJson();
        }
        #endregion

        #region  根据考生号查询，判断考生号是否已经存在
        [SoapHeader("MyHeader")]
        [WebMethod(Description = @"<b><i>根据考生号查询，判断考生号是否已经存在</i></b>")]
        public string GetStudentsInfoByYKZ(string strNMT_SignUpID)
        {
            return ServiceExaminee.GetStudentsInfoByYKZ(strNMT_SignUpID).ToJson();
        }
        #endregion

        #region 根据考生号长度查询，获取生源地映射信息
        [SoapHeader("MyHeader")]
        [WebMethod(Description = @"<b><i>根据考生号长度查询，获取生源地映射信息</i></b>")]
        public string GetNativePlaceNOByLen(string strNMT_SignUp_Len)
        {
            return ServiceExaminee.GetNativePlaceNOByLen(strNMT_SignUp_Len).ToJson();
        }
        #endregion

        #region 根据考生匹配内容获取生源地信息
        [SoapHeader("MyHeader")]
        [WebMethod(Description = @"<b><i>根据考生匹配内容获取生源地信息</i></b>")]
        public string GetNativePlaceNOByMask(string strMask)
        {
            return ServiceExaminee.GetNativePlaceNOByMask(strMask).ToJson();
        }
        #endregion

        #region  根据考点编号获取受限制的考点
        [SoapHeader("MyHeader")]
        [WebMethod(Description = @"<b><i>根据考点编号获取受限制的考点</i></b>")]
        public string GetExamPlace_Limit(string strExamPlaceNO)
        {
            return ServiceExaminee.GetExamPlace_Limit(strExamPlaceNO).ToJson();
        }
        #endregion

        #region 获取 考生基本信息(根据考生ID)
        [SoapHeader("MyHeader")]
        [WebMethod(Description = @"<b><i> 获取 考生基本信息(根据考生ID)</i></b>")]
        public string GetExameeByID(string strSignUpID)
        {
            return ServiceExaminee.GetExameeByID(strSignUpID).ToJson();
        }
        #endregion

        #region 获取 考生基本信息(根据高考报名号)
        [SoapHeader("MyHeader")]
        [WebMethod(Description = @"<b><i>获取 考生基本信息(根据高考报名号)</i></b>")]
        public string GetExameeByNMT_SignUpID(string strNMT_SignUpID)
        {
            return ServiceExaminee.GetExameeByNMT_SignUpID(strNMT_SignUpID).ToJson();
        }
        #endregion

        #region 获取 考生基本信息(根据身份证号)
        [SoapHeader("MyHeader")]
        [WebMethod(Description = @"<b><i>获取 考生基本信息(根据身份证号)</i></b>")]
        public string GetExameeByIdentityCard(string strIdentityCard)
        {
            return ServiceExaminee.GetExameeByIdentityCard(strIdentityCard).ToJson();
        }
        #endregion

        #region 获取 考生缴费信息（找出相应专业的缴费情况）
        [SoapHeader("MyHeader")]
        [WebMethod(Description = @"<b><i>获取 考生缴费信息（找出相应专业的缴费情况）</i></b>")]
        public string GetExameeNetPayFeeDataTable_New(string strIdentityCard)
        {
            return ServiceExaminee.GetExameeNetPayFeeDataTable_New(strIdentityCard).ToJson();
        }

        #endregion

        #region 获取 考生报考专业 财务订单付款信息(根据考生ID)
        [SoapHeader("MyHeader")]
        [WebMethod(Description = @"<b><i> 获取 考生报考专业 财务订单付款信息(根据考生ID)</i></b>")]
        public string GetExameeSpeciality_NetPayFeeInfo_BySignUpID(string strSignUpID)
        {
            return ServiceExaminee.GetExameeSpeciality_NetPayFeeInfo_BySignUpID(strSignUpID).ToJson();
        }
        #endregion

        #region 获取 财务订单付款信息(根据考生ID)
        [SoapHeader("MyHeader")]
        [WebMethod(Description = @"<b><i>获取 财务订单付款信息(根据考生ID)</i></b>")]
        public string GetNetPayFeeInfo_BySignUpID(string strSignUpID)
        {
            return ServiceExaminee.GetNetPayFeeInfo_BySignUpID(strSignUpID).ToJson();
        }
        #endregion

        #region 获取 财务订单明细(根据订单号)
        [SoapHeader("MyHeader")]
        [WebMethod(Description = @"<b><i>获取 财务订单明细(根据订单号)</i></b>")]
        public string GetNetPayFeeDetail_ByOrdNO(string strOrdNO)
        {
            return ServiceExaminee.GetNetPayFeeDetail_ByOrdNO(strOrdNO).ToJson();
        }
        #endregion

        #region 获取 考生报考专业,考试级别(根据考生ID)
        [SoapHeader("MyHeader")]
        [WebMethod(Description = @"<b><i>获取 考生报考专业(根据考生ID)</i></b>")]
        public string GetExameeSpeciality_ExamLevelBySignUpID(string strSignUpID)
        {
            return ServiceExaminee.GetExameeSpeciality_ExamLevelBySignUpID(strSignUpID).ToJson();
        }
        #endregion

        #region 获取 考生报考专业(根据考生ID)
        [SoapHeader("MyHeader")]
        [WebMethod(Description = @"<b><i>获取 考生报考专业(根据考生ID)</i></b>")]
        public string GetExameeSpecialityBySignUpID(string strSignUpID)
        {
            return ServiceExaminee.GetExameeSpecialityBySignUpID(strSignUpID).ToJson();
        }
        #endregion

        #region  根据考生ID删除报考专业信息
        [SoapHeader("MyHeader")]
        [WebMethod(Description = @"<b><i>根据考生ID删除报考专业信息</i></b>")]
        public string DeleteExamSignUpStudentsSpecialityBySignUpID(string strSignUpID, string strIsFee)
        {
            return ServiceExaminee.DeleteExamSignUpStudentsSpecialityBySignUpID(strSignUpID, strIsFee).ToJson();
        }
        #endregion

        #region 获取 考点、专业、分组关联信息
        [SoapHeader("MyHeader")]
        [WebMethod(Description = @"<b><i>获取 考点、专业、分组关联信息</i></b>")]
        public string GetSpecialityKindsDataTable(string strExamPlaceNO)
        {
            return ServiceExaminee.GetSpecialityKindsDataTable(strExamPlaceNO).ToJson();
        }
        #endregion

        #region 获取考生照片
        [SoapHeader("MyHeader")]
        [WebMethod(Description = @"<b><i>获取考生照片</i></b>")]
        public DataSet GetStudentsPhoto(string strSignUpStudentsID)
        {
            return ServiceExaminee.GetStudentsPhoto(strSignUpStudentsID);
        }
        #endregion

        #region 保存考生基本信息
        [SoapHeader("MyHeader")]
        [WebMethod(Description = @"<b><i>保存考生基本信息</i></b>")]
        public string SaveStudentInfo_Modify(string strJson)
        {
            return ServiceExaminee.SaveStudentInfo_Modify(strJson).ToJson();
        }
        #endregion

        #region 保存 考生信息（学生基本信息 咨询互动用户表  报考专业信息  财务订单付款  财务订单明细 打印表）
        [SoapHeader("MyHeader")]
        [WebMethod(Description = @"<b><i>保存 考生信息（学生基本信息 咨询互动用户表  报考专业信息  财务订单付款  财务订单明细 打印表）</i></b>")]
        public string SaveSignUpStudentsInfo(string strJson)
        {
            return ServiceExaminee.SaveSignUpStudentsInfo(strJson).ToJson();
        }
        #endregion

        #region  保存专业补报信息（报考专业信息  财务订单付款  财务订单明细）
        [SoapHeader("MyHeader")]
        [WebMethod(Description = @"<b><i>保存专业补报信息（报考专业信息  财务订单付款  财务订单明细）</i></b>")]
        public string SavaSpecialityPackInfo(string strJson)
        {
            return ServiceExaminee.SavaSpecialityPackInfo(strJson).ToJson();
        }
        #endregion

        #region 保存缴费确认信息（更新报考专业信息  保存财务订单付款  保存财务订单明细）
        [SoapHeader("MyHeader")]
        [WebMethod(Description = @"<b><i>保存缴费确认信息（更新报考专业信息  保存财务订单付款  保存财务订单明细）</i></b>")]
        public string UpdateSpecialityInfoState(string strJson)
        {
            return ServiceExaminee.UpdateSpecialityInfoState(strJson).ToJson();
        }
        #endregion

        #region 上传照片
        [SoapHeader("MyHeader")]
        [WebMethod(Description = @"<b><i>上传照片</i></b>")]
        public string UploadPhoto(string strSignUpID, string strPicData)
        {
            return ServiceExaminee.UploadPhoto(strSignUpID, strPicData).ToJson();
        }
        #endregion

        #region 打印准考证
        [SoapHeader("MyHeader")]
        [WebMethod(Description = @"<b><i>打印准考证</i></b>")]
        public string UpdatePrintAllowExamIDData_All(string strSignUpID, string strComputerName)
        {
            return ServiceExaminee.UpdatePrintAllowExamIDData_All(strSignUpID, strComputerName).ToJson();
        }
        #endregion

        #region 获取考试信息导出excel  
        [SoapHeader("MyHeader")]
        [WebMethod(Description = @"<b><i>获取考试信息导出excel</i></b>")]
        public string GetSignUpStudentsByExcel(string strExamPlaceID, string strExamLevel, string strSpecialityKindsNO)
        {
            return ServiceExaminee.GetSignUpStudentsByExcel(strExamPlaceID, strExamLevel, strSpecialityKindsNO).ToJson();
        }
        #endregion

        #region 获取 考生相关信息（专业信息查询）  
        [SoapHeader("MyHeader")]
        [WebMethod(Description = @"<b><i>获取 考生相关信息（专业信息查询）</i></b>")]
        public string GetExamineeOfAllInfo(string strExamPlaceID, string strSpecialityKindsNO, string strAppointmentGroup, string strPaySource, string strIsPass,
            string strIsDownload, string strExamLevel, string strName, string strNMT_SignUpID, string strIdCard, string strAllowExamID,
            string strCurrentIndex, string strPageSize)
        {
            return JsonHelper.JsonSerializer<PagerCondition>(ServiceExaminee.GetExamineeOfAllInfo(strExamPlaceID, strSpecialityKindsNO, strAppointmentGroup, strPaySource, strIsPass,
              strIsDownload, strExamLevel, strName, strNMT_SignUpID, strIdCard, strAllowExamID,
              strCurrentIndex, strPageSize));
        }
        #endregion

        #region 获取 考生相关信息（考生信息查询）
        [SoapHeader("MyHeader")]
        [WebMethod(Description = @"<b><i>获取 考生相关信息（考生信息查询）</i></b>")]
        public string GetExamineeOfAllInfo_ByBaseInfo(string strName, string strNMT_SignUpID, string strIdCard, string strCurrentIndex, string strPageSize, string strExamYear)
        {
            return JsonHelper.JsonSerializer<PagerCondition>(ServiceExaminee.GetExamineeOfAllInfo_ByBaseInfo(strName, strNMT_SignUpID, strIdCard, strCurrentIndex, strPageSize, strExamYear));
        }
        #endregion

        [SoapHeader("MyHeader")]
        [WebMethod(Description = @"<b><i>根据考点和专业获取考试时间</i></b>")]
        public string GetExamTime(string strExamPlaceNo, string strSpecialityKindsNO)
        {
            return ServiceExaminee.GetExamTime(strExamPlaceNo, strSpecialityKindsNO);
        }

        [SoapHeader("MyHeader")]
        [WebMethod(Description = @"<b><i>获取考生报考专业状态信息</i></b>")]
        public string GetExamLog(string strSignUpID, string strSpecialityKindsNO)
        {
            return ServiceExaminee.GetExamLog(strSignUpID, strSpecialityKindsNO);
        }

        [SoapHeader("MyHeader")]
        [WebMethod(Description = @"<b><i>保存报考信息</i></b>")]
        public string SaveStudentRegistration(string JsonSignUpStudents, string JsonConsultUsers, string JsonExamSignUpStudentsSpeciality)
        {
            return ServiceExaminee.SaveStudentRegistration(JsonSignUpStudents, JsonConsultUsers, JsonExamSignUpStudentsSpeciality).ToJson();
        }

        [SoapHeader("MyHeader")]
        [WebMethod(Description = @"<b><i>完成报考信息</i></b>")]
        public string ComplateStudentRegistration(string JsonSignUpStudents, string JsonExamSignUpStudentsSpeciality, string strUserID)
        {
            return ServiceExaminee.ComplateStudentRegistration(JsonSignUpStudents, JsonExamSignUpStudentsSpeciality, strUserID).ToJson();
        }

        [SoapHeader("MyHeader")]
        [WebMethod(Description = @"<b><i>完成补报信息</i></b>")]
        public string UpdateSignUpStudentsSpeciality(string strSignUpStudentsSpecialityID, string strExamPlaceNo, string strSpecNo, string strUpdateMessage, string strUserID)
        {
            return ServiceExaminee.UpdateSignUpStudentsSpeciality(strSignUpStudentsSpecialityID, strExamPlaceNo, strSpecNo, strUpdateMessage, strUserID).ToJson();
        }

        [SoapHeader("MyHeader")]
        [WebMethod(Description = @"<b><i>调整专业信息</i></b>")]
        public string UpdateSignUpStudentsSpeciality_TZ(string strSignUpStudentsSpecialityID, string strUpdateMessage, string strUserID)
        {
            return ServiceExaminee.UpdateSignUpStudentsSpeciality_TZ(strSignUpStudentsSpecialityID, strUpdateMessage, strUserID).ToJson();
        }

        [SoapHeader("MyHeader")]
        [WebMethod(Description = @"<b><i>通过报考专业ID或签到数据</i></b>")]
        public string GetExamSigned(string strSignUpStudentsSpecialityID)
        {
            return ServiceExaminee.GetExamSigned(strSignUpStudentsSpecialityID).ToJson();
        }

        [SoapHeader("MyHeader")]
        [WebMethod]
        public string ImportUploadPhoto(string serchVal)
        {
            return ServiceExaminee.ImportUploadPhoto(serchVal).ToJson();
        }

        [SoapHeader("MyHeader")]
        [WebMethod]
        public string ImportSignUpStudents(string strSignUpStudents, string strSignUpStudentsExamSpec)
        {
            return ServiceExaminee.ImportSignUpStudents(strSignUpStudents, strSignUpStudentsExamSpec).ToJson();
        }
    }
}